In-Circuit-Emulators are commonly employed to develop and debug computer systems including portable computer systems. A typical In-Circuit-Emulator provides a processor emulation module and a host computer. The processor emulation module emulates processor functions for a target computer system that is under development. The host computer controls the emulation functions. The processor emulation module is usually inserted into the target computer system in place of the target processor. The processor emulation module emulates the target processor according to user commands entered on the host processor.
Typically, such In-Circuit-Emulators perform a variety of emulation functions. For example, In-Circuit-Emulators usually perform emulation functions for downloading and modifying target system software and examining target system memory. In-Circuit-Emulators often provide a debug memory space that can be used instead of the target system memory. Such in-circuit emulators also commonly provide processor control functions such as execute code, halt execution, and execute code until the occurrence of a breakpoint condition.
Most prior art In-Circuit-Emulators comprise a processor emulation module that is inserted into the target computer system in place of the target processor. Such emulation modules introduce propagation delays into the computer system. Thus the computer system cannot be tested at full speed while using a prior art In-Circuit-Emulator. Furthermore, such prior art In-Circuit-Emulators often must monitor more than one external bus in order to provide breakpoints.